From a90d43bed605f6afb929672d8568be0afbf9408d Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Wed, 8 Jul 2009 18:36:24 +0200 Subject: [PATCH] Don't emulate map/unmap events for native windows We really need to wait for the MapNotify from the xserver to ensure that the window has been mapped, as it may be delayed by the WM, network or similar things. This fixes a problem in the /ui-tests/keys-events gtk test --- gdk/gdkwindow.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index d9b1e5b57e..bd253c716d 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -5805,7 +5805,7 @@ gdk_window_show_internal (GdkWindow *window, gboolean raise) if (gdk_window_is_viewable (window)) show_all_visible_impls (private, was_mapped); - if (!was_mapped) + if (!was_mapped && !gdk_window_has_impl (private)) { if (private->event_mask & GDK_STRUCTURE_MASK) _gdk_make_event (GDK_WINDOW (private), GDK_MAP, NULL, FALSE); @@ -6112,7 +6112,7 @@ gdk_window_hide (GdkWindow *window) /* all decendants became non-visible, we need to send visibility notify */ gdk_window_update_visibility_recursively (private, NULL); - if (was_mapped) + if (was_mapped && !gdk_window_has_impl (private)) { if (private->event_mask & GDK_STRUCTURE_MASK) _gdk_make_event (GDK_WINDOW (private), GDK_UNMAP, NULL, FALSE); -- 2.30.2